View Issue Details

IDProjectCategoryView StatusLast Update
0001709T99X171.00 SKB EagleSW Issuepublic2023-06-14 08:23
Reporter(ALTech) JunGyu Kim Assigned To(SW) Jerry Lin Due Date2023-04-20 20:12
PrioritynormalSeveritys4-minorReproducibilityalways
Status closedResolutionreopened 
Summary0001709: [Smart3][ATV12] The screen is not showing when press power key while sleep mode upgrade
DescriptionHi Kerwin,

Our QA found an issue that the screen is not showing when press power key while sleep mode upgrade.
The reproduce step is as below.

1. adb connect xxx.xxx.xxx.xxx
2. adb root
3. adb push update.zip /cache/
4. adb shell
5. reboot private_recovery
6. while upgrade, press power key
7. STB's LED is changed to white. but the screen is showing black.

Please check this issue.
Thank you.
TagsNo tags attached.
Attach Tags

Users monitoring this issue

Activities

(SW) Jerry Lin

2023-04-24 11:16

developer   ~0012966

Hi Kim ,
I fixed this issue. Please help to verify it.
The test F/W is in /release_by_fxn/smart3_test/Mantis1709/SD/usb_bfx-at100_V15.537.41.zip

Thanks.
Jerry

(ALTech) JunGyu Kim

2023-04-24 13:14

developer   ~0012969

Hi Jerry,

I have verified that your test FW is working well.
Please commit this modification.

Thank you
Kim

(SW) Jerry Lin

2023-04-25 14:10

developer   ~0012992

Hi Kim ,
commit done!

Jerry

(ALTech) JunGyu Kim

2023-04-25 18:12

developer   ~0012999

Hi Jerry,

Thank you for support.
I close this issue

Kim

(ALTech) JunGyu Kim

2023-05-02 15:44

developer   ~0013040

Hi Jerry,

Our QA found an issue about auto reset in FW 15.537.42.
After complete upgrade by auto reset, the STB and TV do not turn off. (2 occurrences of 3 attempts)

It is unclear if this is a side effect of this modification.
Please test it and check attached log of the issue was occurred.

Thank you.
Kim

(ALTech) JunGyu Kim

2023-05-02 15:45

developer   ~0013041

(ALTech) JunGyu Kim

2023-05-08 13:21

developer   ~0013062

Hi Jerry,

Please update the progress of this issue.

Thank you.
Kim

(SW) Jerry Lin

2023-05-08 14:32

developer   ~0013065

Hi Kim,
I check with the log.
I found that the message "androidboot.enableSystemReset=0".
This should be the normal boot,
If the value is 1, this is the auto reset mode

Jerry

(ALTech) JunGyu Kim

2023-05-08 16:44

developer   ~0013067

Hi Jerry,

This log is below procedure.
Normal status -> Auto reset -> log after upgrade.

So, first "androidboot.enableSystemReset" message is 0.
You can check "androidboot.enableSystemReset" message is 1 at 46663 line.

Please check it again.
Thank you.
Kim

(SW) Jerry Lin

2023-05-11 09:55

developer   ~0013095

Hi Kim,
I check with the log.
Please check with the following steps.

1. TV send "Routing Change" cec message to Eagle
   04-28 13:22:23.173 3887 3887 D HDMI : [R]:<Routing Change> 0F:80:10:00:10:00
2. Eagle send Active Source to TV
   04-28 13:22:23.329 3887 4058 D HDMI : [S]:<Active Source> 4F:82:10:00
3. SPtek added this in HdmiControlService.
   04-28 13:22:23.579 3887 3887 W HdmiControlService: hdmi_wakeUp SendBroadcast Intent (com.skbtv.tv.wakeup) btv_hdmi_control_enabled : 1, Intent (sys.stb.on) = 0
4. SPtek added in MainActivity and turn on TV and Eagle.
   04-28 13:22:23.592 4756 4756 I MainActivity: wakeup() called
   
Please help to check with SPtek about this "btv_hdmi_control_enabled" behavior.
This is newly added after 536, so this problem arises.

Jerry

(ALTech) JunGyu Kim

2023-05-11 13:17

developer   ~0013097

Hi Jerry,

Thank you for support.
According to the results of the analysis, I understood that the reason why the STB does not turn off is that the STB send "Active Source" to TV.
In order to determine the root cause, could you build a test FW that do not send "Active Source" when upgrading to auto reset?

Thank you.
Kim

(ALTech) JunGyu Kim

2023-05-15 08:37

developer   ~0013114

Hi Jerry,

Can you support to build test FW above?

Thank you.
Kim

(SW) Jerry Lin

2023-05-15 10:53

developer   ~0013120

Hi Kim ,
I will release test FW today.
And will disable "One Touch Play" CEC Message when the box is in auto reset mode(sys.skb.auto_reset=true).

Thanks.

Jerry

(ALTech) JunGyu Kim

2023-05-15 11:56

developer   ~0013122

Hi Jerry,

Thank you for support.
Additionally, could you disable "Active source" also? Because some TV is ON when input "Active source".

Thank you
Kim

(SW) Jerry Lin

2023-05-15 17:08

developer   ~0013130

Hi Kim,
upload test FW to
/release_by_fxn/temp_wfh/jerry/eagle/mantis_1709/usb_bfx-at100_V15.537.45.zip

The test FW is SD version.

Jerry

(ALTech) JunGyu Kim

2023-05-17 09:32

developer   ~0013154

Hi Jerry,

Our QA verified your test FW 30 times, it works fine.
Can you share the modification?
I will check the code and discuss with SPTEK.

Thank you
Kim

(SW) Jerry Lin

2023-05-17 11:41

developer   ~0013157

Hi Kim,
upload diff file

Jerry
diff (5,201 bytes)   
====> project: frameworks/base
diff --git a/services/core/java/com/android/server/hdmi/ActiveSourceAction.java b/services/core/java/com/android/server/hdmi/ActiveSourceAction.java
index 179602737985..a551db1eb9e5 100644
--- a/services/core/java/com/android/server/hdmi/ActiveSourceAction.java
+++ b/services/core/java/com/android/server/hdmi/ActiveSourceAction.java
@@ -17,7 +17,8 @@
 package com.android.server.hdmi;
 
 import android.hardware.hdmi.HdmiDeviceInfo;
-
+import android.util.Slog;
+import android.os.SystemProperties;
 /**
  * Action that sends {@code <Active Source>} to make this device the currently active source.
  *
@@ -25,6 +26,7 @@ import android.hardware.hdmi.HdmiDeviceInfo;
  * <User Control Pressed>} messages.
  */
 public class ActiveSourceAction extends HdmiCecFeatureAction {
+    private static final String TAG = "ActiveSourceAction";
 
     private static final int STATE_STARTED = 1;
     private static final int STATE_FINISHED = 2;
@@ -39,6 +41,13 @@ public class ActiveSourceAction extends HdmiCecFeatureAction {
     @Override
     boolean start() {
         mState = STATE_STARTED;
+       // Foxconn jerry test;
+       // Check system_reset mode; if yes , then do not send OTP
+        if("true".equals(SystemProperties.get("sys.skb.auto_reset"))) {
+           Slog.i(TAG, "in system reset mode");
+            return false;
+        }
+
         int logicalAddress = getSourceAddress();
         int physicalAddress = getSourcePath();
 
diff --git a/services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java b/services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java
index 2c355760a7ee..8b9fcc8326c8 100644
--- a/services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java
+++ b/services/core/java/com/android/server/hdmi/HdmiCecLocalDevicePlayback.java
@@ -116,6 +116,13 @@ public class HdmiCecLocalDevicePlayback extends HdmiCecLocalDeviceSource {
                 HdmiLogger.debug("No one touch play for quiescent boot.");
             } else {
                 HdmiLogger.debug("Trigger one touch play after boot!");
+       // Foxconn jerry test;
+       // Check system_reset mode; if yes , then do not send OTP
+        if("true".equals(SystemProperties.get("sys.skb.auto_reset"))) {
+           Slog.i(TAG, "in system reset mode");
+            return;
+        }
+		
                 mService.runOnServiceThreadDelayed(() -> {
                     if (!mService.isTvAvailable()) {
                         HdmiLogger.debug("No need to do boot for tv not available.");
diff --git a/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceSource.java b/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceSource.java
index c50314901610..f45a84d49c02 100644
--- a/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceSource.java
+++ b/services/core/java/com/android/server/hdmi/HdmiCecLocalDeviceSource.java
@@ -33,6 +33,8 @@ import com.google.android.collect.Lists;
 import java.util.ArrayList;
 import java.util.List;
 
+import android.os.SystemProperties;
+
 /**
  * Represent a logical source device residing in Android system.
  */
@@ -124,6 +126,13 @@ abstract class HdmiCecLocalDeviceSource extends HdmiCecLocalDevice {
             HdmiLogger.debug("oneTouchPlay disabled!");
             return;
         }
+	// Foxconn jerry test;
+	// Check system_reset mode; if yes , then do not send OTP
+        if("true".equals(SystemProperties.get("sys.skb.auto_reset"))) {
+	    Slog.i(TAG, "in system reset mode");
+            return;
+        }
+	
         List<OneTouchPlayAction> actions = getActions(OneTouchPlayAction.class);
         if (!actions.isEmpty()) {
             Slog.i(TAG, "oneTouchPlay already in progress");
@@ -237,6 +246,12 @@ abstract class HdmiCecLocalDeviceSource extends HdmiCecLocalDevice {
     @Constants.HandleMessageResult
     protected int handleSetStreamPath(HdmiCecMessage message) {
         assertRunOnServiceThread();
+	// Foxconn jerry test;
+	// Check system_reset mode; if yes , then do not send OTP
+        if("true".equals(SystemProperties.get("sys.skb.auto_reset"))) {
+	    Slog.i(TAG, "in system reset mode");
+            return Constants.ABORT_REFUSED;
+        }
         int physicalAddress = HdmiUtils.twoBytesToInt(message.getParams());
         // If current device is the target path, set to Active Source.
         // If the path is under the current device, should switch
@@ -257,6 +272,12 @@ abstract class HdmiCecLocalDeviceSource extends HdmiCecLocalDevice {
     @Constants.HandleMessageResult
     protected int handleRoutingChange(HdmiCecMessage message) {
         assertRunOnServiceThread();
+	// Foxconn jerry test;
+	// Check system_reset mode; if yes , then do not send OTP
+        if("true".equals(SystemProperties.get("sys.skb.auto_reset"))) {
+	    Slog.i(TAG, "in system reset mode");
+            return Constants.ABORT_REFUSED;
+        }
         int physicalAddress = HdmiUtils.twoBytesToInt(message.getParams(), 2);
         if (physicalAddress != mService.getPhysicalAddress() || !isActiveSource()) {
             // Invalidate the active source if routing is changed to other physical address or
diff (5,201 bytes)   

(ALTech) JunGyu Kim

2023-05-17 14:14

developer   ~0013159

Hi Jerry,

I checked the diff file you provided, but it doesn't seem It has nothing to do with SPTEK's fixes.
So, I think you can just commit.
Please commit this modification.

Thank you.
Kim

(SW) Jerry Lin

2023-05-17 15:25

developer   ~0013163

Hi Kim,
commit done!

Jerry

(ALTech) JunGyu Kim

2023-05-17 18:02

developer   ~0013168

Hi Jerry,

Thank you for support.
I close this issue.

Kim

(ALTech) JunGyu Kim

2023-06-01 08:30

developer   ~0013272

Hi Jerry,

This commit (disable active source) must be include Android 10.
Please commit this modification to 536 branch.

Thank you.
Kim

(SW) Jerry Lin

2023-06-01 09:40

developer   ~0013274

Hi Kim ,
Because the source code of ATV12 and ATV10 is different.
So there is no way to use it directly on ATV10.
I will check the behavior of ATV10.

Jerry

(SW) Jerry Lin

2023-06-12 13:59

developer   ~0013337

Hi Kim,
upload test FW to
/release_by_fxn/temp_wfh/jerry/eagle/mantis_1709/usb_bfx-at100_V15.536.33.zip

The test FW is ATV10 SD version.

Jerry

(ALTech) JunGyu Kim

2023-06-12 16:14

developer   ~0013339

Hi Jerry,

I checked FTP but it seems wrong size.
    usb_bfx-at100_V15.536.33.zip 2023-06-12 14:40 5.5M

Please upload again.
Thank you.
Kim

(SW) Jerry Lin

2023-06-12 16:44

developer   ~0013340

Hi Kim,
upload down.
Please download it.

Jerry

(ALTech) JunGyu Kim

2023-06-13 18:12

developer   ~0013360

Hi jerry,

I checked your test FW, it works fine.
Please commit this modification.

Thank you.
Kim

(SW) Jerry Lin

2023-06-13 20:16

developer   ~0013368

Hi Kim,
done

Jerry

(ALTech) JunGyu Kim

2023-06-14 08:23

developer   ~0013371

Thank you for support.

I close this issue.
Kim

Issue History

Date Modified Username Field Change
2023-04-17 17:01 (ALTech) JunGyu Kim New Issue
2023-04-17 17:01 (ALTech) JunGyu Kim Status new => assigned
2023-04-17 17:01 (ALTech) JunGyu Kim Assigned To => (SW) Kerwin Chen
2023-04-17 17:01 (ALTech) JunGyu Kim Issue Monitored: (ALTech) SY Yoon
2023-04-17 17:01 (ALTech) JunGyu Kim Issue Monitored: (ALTech) Younkwang Jung
2023-04-17 17:19 (SW) Kerwin Chen Assigned To (SW) Kerwin Chen => (SW) Jerry Lin
2023-04-24 11:16 (SW) Jerry Lin Note Added: 0012966
2023-04-24 13:14 (ALTech) JunGyu Kim Note Added: 0012969
2023-04-25 14:10 (SW) Jerry Lin Note Added: 0012992
2023-04-25 18:12 (ALTech) JunGyu Kim Status assigned => closed
2023-04-25 18:12 (ALTech) JunGyu Kim Resolution open => fixed
2023-04-25 18:12 (ALTech) JunGyu Kim Note Added: 0012999
2023-05-02 15:44 (ALTech) JunGyu Kim Status closed => feedback
2023-05-02 15:44 (ALTech) JunGyu Kim Resolution fixed => reopened
2023-05-02 15:44 (ALTech) JunGyu Kim Note Added: 0013040
2023-05-02 15:45 (ALTech) JunGyu Kim Note Added: 0013041
2023-05-02 15:45 (ALTech) JunGyu Kim File Added: Autoeset_no_off_TV_STB_logcat.log
2023-05-02 15:45 (ALTech) JunGyu Kim Status feedback => assigned
2023-05-08 13:21 (ALTech) JunGyu Kim Note Added: 0013062
2023-05-08 14:32 (SW) Jerry Lin Note Added: 0013065
2023-05-08 16:44 (ALTech) JunGyu Kim Note Added: 0013067
2023-05-11 09:55 (SW) Jerry Lin Note Added: 0013095
2023-05-11 13:17 (ALTech) JunGyu Kim Note Added: 0013097
2023-05-15 08:37 (ALTech) JunGyu Kim Note Added: 0013114
2023-05-15 10:53 (SW) Jerry Lin Note Added: 0013120
2023-05-15 11:56 (ALTech) JunGyu Kim Note Added: 0013122
2023-05-15 17:08 (SW) Jerry Lin Note Added: 0013130
2023-05-17 09:32 (ALTech) JunGyu Kim Note Added: 0013154
2023-05-17 11:41 (SW) Jerry Lin Note Added: 0013157
2023-05-17 11:41 (SW) Jerry Lin File Added: diff
2023-05-17 14:14 (ALTech) JunGyu Kim Note Added: 0013159
2023-05-17 15:25 (SW) Jerry Lin Note Added: 0013163
2023-05-17 18:02 (ALTech) JunGyu Kim Status assigned => closed
2023-05-17 18:02 (ALTech) JunGyu Kim Note Added: 0013168
2023-06-01 08:30 (ALTech) JunGyu Kim Status closed => feedback
2023-06-01 08:30 (ALTech) JunGyu Kim Note Added: 0013272
2023-06-01 09:40 (SW) Jerry Lin Note Added: 0013274
2023-06-12 13:59 (SW) Jerry Lin Note Added: 0013337
2023-06-12 16:14 (ALTech) JunGyu Kim Note Added: 0013339
2023-06-12 16:14 (ALTech) JunGyu Kim Status feedback => assigned
2023-06-12 16:44 (SW) Jerry Lin Note Added: 0013340
2023-06-13 18:12 (ALTech) JunGyu Kim Note Added: 0013360
2023-06-13 20:16 (SW) Jerry Lin Note Added: 0013368
2023-06-14 08:23 (ALTech) JunGyu Kim Status assigned => closed
2023-06-14 08:23 (ALTech) JunGyu Kim Note Added: 0013371